package ar.uade.edu.fain.ad.common.transfer;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

public class CierreCajaVO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private CajaVO cajaVO;

	private Double totalEfectivoEnSistema;

	private Map<Integer, Integer> cantidadPorBilleteEnCaja;

	private Double totalCuponesEnSistema;

	private Double totalCuponesEnCaja;

	private Integer cantidadCuponesEnSistema;

	private Integer cantidadCuponesEnCaja;

	public CierreCajaVO() {
		super();
		this.cantidadPorBilleteEnCaja = new HashMap<Integer, Integer>();
	}

	public CajaVO getCajaVO() {
		return cajaVO;
	}

	public void setCajaVO(CajaVO cajaVO) {
		this.cajaVO = cajaVO;
	}

	public Double getTotalEfectivoEnSistema() {
		return totalEfectivoEnSistema;
	}

	public void setTotalEfectivoEnSistema(Double totalEfectivoEnSistema) {
		this.totalEfectivoEnSistema = totalEfectivoEnSistema;
	}

	public Map<Integer, Integer> getCantidadPorBilleteEnCaja() {
		return cantidadPorBilleteEnCaja;
	}

	public void setCantidadPorBilleteEnCaja(
			Map<Integer, Integer> cantidadPorBilleteEnCaja) {
		this.cantidadPorBilleteEnCaja = cantidadPorBilleteEnCaja;
	}

	public Double getTotalCuponesEnSistema() {
		return totalCuponesEnSistema;
	}

	public void setTotalCuponesEnSistema(Double totalCuponesEnSistema) {
		this.totalCuponesEnSistema = totalCuponesEnSistema;
	}

	public Double getTotalCuponesEnCaja() {
		return totalCuponesEnCaja;
	}

	public void setTotalCuponesEnCaja(Double totalCuponesEnCaja) {
		this.totalCuponesEnCaja = totalCuponesEnCaja;
	}

	public Integer getCantidadCuponesEnSistema() {
		return cantidadCuponesEnSistema;
	}

	public void setCantidadCuponesEnSistema(Integer cantidadCuponesEnSistema) {
		this.cantidadCuponesEnSistema = cantidadCuponesEnSistema;
	}

	public Integer getCantidadCuponesEnCaja() {
		return cantidadCuponesEnCaja;
	}

	public void setCantidadCuponesEnCaja(Integer cantidadCuponesEnCaja) {
		this.cantidadCuponesEnCaja = cantidadCuponesEnCaja;
	}

	public Double getTotalEfectivoEnCaja() {
		double total = 0D;
		for (Integer denominacion : getCantidadPorBilleteEnCaja().keySet()) {
			total += denominacion.doubleValue() * 
					getCantidadPorBilleteEnCaja()
							.get(denominacion).doubleValue(); 
		}
		return total;
	}

}
